Added more attributes and functionality