added spinner implementation