Cleaned the abstraction layer