better nil-handling and naming