reworked uniform to allow for easy uniform array upload
added buffer objects