finished

need to polish codestyle