starting to implement abstract display<->os API