committing some stuff before refactor
refactor complete