-switched to own runnable;\n-fixed several bugs;\n-refactored