fixing errors & probably completed