Re-layout API and added dynamic feature to make easier to navigate.
Also, added return object support.
Merge origin/master