done

added last tests, made things beautiful