trying to cleanup attribute logic