New file for higher-level abstraction