refactoring color kernel
transaction model