add hotsgroup filter and make code more readable, still extremely messy