We have been fortunate to have some great answers on this, such as this one from /u/commiespaceinvader and this collection of earlier posts.