added basic subdivision though buggy, needs work