lots of schema functionality building