solves #2 and solves #3 + fixed the some name variables.