adding variables and beginning of some new features