I think it's finished. Try to break it  with test cases