refactored Stocks into interface; added factory method to Stock