working kernel with drawing :D