add light, fix tons of bugs