Make more extensible