better performance, better code organization