fixed and worked on shell