added os and better interface