tons of small mistakes fixed