Refactor more, add more attributes