image server splitted into two abstraction layers