fixed #346 and moved worker methods to controller