store points in database instead of calculating every time
use squeel to clean up some queries