more non relevant code removed 2