some good fixes. now the only thing is to make it not look like crap...