Now 3 dimensional
Added point forces (mostly, still need to write the interfacing functions)