first draft
added different methods
added output