adapted for hacker school