by following core design principle