there are some good ideas but I may be overgeneralizing