Changed to floating methods
Added Exceptions