some refactoring
transparent rendering works