start and stop working but still messy and hard codey