uncommented stuff I commented for my own use