sequentially function calls instead of pure functions
some location stuff