completed code refactor before adding multi-asset class functionality