prototypal: finished almost all tests