basic let re-writing