speed stuff up using lazy load and require optimization
style checkpoint