finish first version of xsh