add ability of extending an object
prevent double including
fix
add specs