first considerable logic is implemented, I think