do not pass c to types
cleaning up dependencies, move require constants