For complete description of code functionality, see 'main.m'.