fundamental techniques