solved 28 and 29, working on 30