change to arch
updated source
abstract to globals
new variables and io