shell framework