add spike task
restructure concept