add new features, include program loader, macro and free