adding in functionality for modes and updating dos property