for profiling
maked get iterative instead of recursive, very small speed-up