Began working on the abstraction layer