controls mostly done