basics done, maybe a bug somewhere