made some things static to save memory