modified header layouts to public -> protected (none) -> private
some refactoring of member variable names and changed some header comments
refactored some method names to make them shorter. major overhaul of decrementing methods of pool
not important