better interface code, added maps