some function reshuffling