refactoring uniform handling, also adding immediate drawing