Make progress implementing spec properly