kinda fixed q1. fails miserably on anything larger than medium though