New abstraction facade layer implemented. Added a marker interface