done almost everything