Updated prototype
Updated tests