protect against multiple calls
fix issue where multiple buttons were created - may have caused memory leak
get target path (crashes at second call ?)