tons of small fixes