OS abstraction
update