next iteration, better code, test added
removing doesn't work properly, find added