experiment with module extend vs delegation