complete rewrite
removed old function
removed old function lel
fixed dependencies
what