cleaned up attribute stuff