finished testing and implementation