adding widget api, improving timesharing, cleaning up compiler warnings