finished implementation, update spec