better shader. no need to add multiple sources