code cleanup
use non-blocking delays and LPM3