sorted out return val