added garage functions, restructured code