sm: refactoring complete(?) for timer