adjust program architure