Changes to fix image sharing

changes to fix image sharing. stas pointed out abstract class could be used, and that 2 of capabilities were wrong