just need to add hi-const functionality and do e.c.