Batching

Closes #282
this is like 900% less ugly :+1: