Review (3/5): Decent
Hard to maintain