Naive Implementation, not tested