make it more robust using abs dir