Fixed up merged code; Now functions properly as either a controller or callbox