stackoverflow help added, still needs to be tested