reworking typescript requires