input related (not fully implemented);