actually make os a mixin and update corresponding files