finish picketlink abstraction