added check for & and cleaned up more