A Model for Auto-Programming for General Purposes