spinner is done but some improvements must be made