refactored culm and environment class; removed snap framework;