possibly reduce memory load by moving vars?