App core software design