added many new features