Did a bit of restructuring.
Added more arguments.