implement Ingredients class

there are tons of warning, need to check how to handle it