code restructuring
Merge remote-tracking branch 'nayan/MIFOSX-186'