modified Sampler2D to be passed by pointer
refactored geometry builder into separate package