Improved append method