first draft of independant resolver