update spec and get tests to pass