Why is customized software developed?