Should probably use space.validate instead of manual checks in here