WWTPD. Long but need advice