initial squirt implementation