implemented to array