refucktoring + fixed #61