lights are still not complete. think of a better way to combine them with bound shader