Following Liskov substitution