updated with new features