Baseline 2
Adding abstract layer for rest and composition