moving stuff around
improve naming and parameter order of methods