how do you program all that stuff?? did you write your own software?? this is just too f'n cool!!!