Base attribute refactoring + specs