extending instead of reusing