stack alocation + references instead of pointers