added kinetic factory, handled image processing