Change build structer
Add build mode
Base of desktop version