removed from idea.rb for now, needs to be refactoered a little differently, not exact dup of other methods