Clean code to make it extendable later