started working on platform abstractions