the method is almost finished