add basic extend