Check implemented, some cleanup too