imperfect technology