A methodology for developing Second Life environments using case-based reasoning techniques