lets port all the sucky abstractions into node now!