remove hok and allow adding ctx
modular completion
add delegate