This paper presents #FIVE (Framework for Interactive Virtual Environments), a framework for the development of interactive and collaborative virtual environments. #FIVE has been developed to answer the need for an easier and a faster conception and development of virtual reality applications. It has been designed with a constant focus on re-usability with as few hypothesis as possible on the final application in which it could be used. Whatever the chosen implementation for the Virtual Environment (VE), #FIVE : (1) provides a toolkit that eases the declaration of possible actions and behaviours of objects in the VE, (2) provides a toolkit that facilitates the setting and the management of collaborative interactions in a VE, (3) is compliant with distribution of the VE on different setups and (4) proposes guidelines to efficiently create a collaborative and interactive VE. It is composed of several modules, among them, two core modules : the relation engine and the collaborative interaction engine. On the one hand, the relation engine manages the relations between the objects of the environment. On the other hand, the collaborative interaction engine manages how users can collaboratively control objects. The modules that compose the #FIVE framework can be used either independently or simultaneously, depending on the requirements of the application. They can also communicate and work with other modules thanks to an API. For instance, a scenario engine can be plugged to any or both of the #FIVE modules if the application is scenario-based. #FIVE is a work in progress, new core modules will later be proposed. Nevertheless, it has already been used in some VR applications by several persons in our lab. The feedbacks we obtained are rather positive and we intent to further develop #FIVE with additional functionalities, notably by extending it to the control of avatars whether they are controlled by a user or by the system.