os checking added