initial attributes and methods

all tests now passing