Adding Image abstraction layer