simulate Object.create manually via prototype