make geometry init functions take a geometry as a parameter