first working draft
fixed most and added recipe caching
Merge branch 'drawer_layout'