Updates and added test for full implementation