functions – Seeking for a general method to turn the term(s) in a formula into a list

If we want to make arbitary formula into a List, for example, input (1+a^3) and we want the output data to be {1,a^3}, we can use List@@(expr). However when input data becomes a^3, we need to change the code into List@(expr), otherwise we will get {a,3}.

But turning a formula into a list is just a internal process so I don’t know if the formula is of one term or a polynomial of many terms. I need a general method to turn any expanded formula into a list.

Thanks a lot for reading my question and sincerely hope you can offter a helping hand.

test data: 1.input (1+a^2*b^3), output {1,a^2*b^3}; 2. input (a^3), output {a^3}