optimize list? and append!